A hard disk drive for recording data on a magnetic disk which is a magnetic recording medium for recording and reading data is an essential device for storing large amounts of data and programs in computer systems. Since a hard disk drive contains moving mechanical parts, a failure is relatively liable to occur. Such a failure may prevent the hard disk drive from reading or storing data and programs which, in turn, may stop the entire computer system using the drive.
To prevent the consequences of such a loss, a multiplexed disk recording controller (redundant disk array) for multiplexing the hard disk drive and recording data, etc., in the multiplexed hard disk drive based on a command from a host computer and reading data, etc., from the multiplexed hard disk drive has already been proposed. The multiplexed disk controller is provided with a redundant array of independent disks (RAID), e.g., RAID 0, RAID 1, RAID 3, and RAID 5. RAID 0, RAID 3, and RAID 5 each divide data among a plurality of hard disk drives. RAID 1 records data on two hard disk drives redundantly.
In the multiplexed disk recorder to which RAID 1 is applied (hereafter redundant disk storage system), identical data and programs are stored on two hard disk drives at all times. Redundancy is given so that, if a failure occurs in one hard disk drive, data reading, etc., can be done using the remaining drive.
The redundant disk storage system processes data when it receives a data recording command or a write command from a host computer; that is, a write command or parameter received from a host computer is sent to the first hard disk drive, then also sent to the second hard disk drive. When both drives can transfer and record data (data-transfer-enabled), data from the host computer is simultaneously sent to the pair of drives, thereby recording sent data on both magnetic disks of the pair of drives.
Moreover, the redundant disk storage system processes data by either a first or second method described as follows; when it receives a data read command (read command) from a host computer.
In the first method, a read command is sent to only one of a pair of hard disk drives, and processing waits until the hard disk drive to which this read command is sent is able to read data (read-enabled possible). When this drive is read-enabled, to read data, information indicating read-enabled is sent to the host computer and the required data is transferred from the hard disk drive to the host computer.
In this method, the control program is simple, but a long time is required for authorizing a failure in the hard disk drive in which a read command is received, and, moreover, a read command must be sent to the remaining hard disk drive after failure authorization. Therefore, if a failure occurs in either drive, a long time is required from read command receiving to the completion of magnetic disk data reading.
In the second method, both of a pair of hard disk drives are issued a read command and required data is transferred from whichever one of the pair of drives becomes data-transfer-enabled first.
Use of this method shortens the read time upon a failure in a hard disk drive compared to the first method because, even for a failure in either hard disk drive, only one of the pair of drives must be able to transfer data. However, in this method, if necessary data is recorded near the internal circumference on the hard disk, the read voltage of data read by the magnetic head is low and data may not be recognized in some cases. Therefore, the drive itself must repeat a retry to read data or the redundant disk storage system must retry sending a parameter or command to the drive again, if necessary. Retry by the drive itself or the redundant disk storage system eventually enables data to be read. Therefore, if required data is recorded near the internal circumference on the hard disk, the probability of not reading data rises or a long read time is needed.
Moreover, using the first or second method in a redundant disk storage system, read heads of the two hard disk drives are both positioned where said data is recorded or at the first position at the end of the first data reading. Therefore, the first and the second methods do not differ greatly in the time for movement from the location of data previously recorded to that of required data.
Moreover, in the conventional redundant disk storage system, it was difficult to incorporate a hard disk drive in a computer, e.g., a personal computer, because of increased scale accompanied by increased recording capacity. Therefore, at least one hard disk drive was connected externally. Where a hard disk drive was installed outside the computer, the interface of the hard disk drive had to be connected with a cable. In this case, to avoid malfunctioning due to noise, a small computer system interface (SCSI) suitable for an external hard disk drive was generally used to connect the redundant disk controller and a pair of hard disk drives, thereby making the data capacities of tens of G bytes possible.
In contrast, the AT interface was generally used in personal computers having a small built-in hard disk drive. However, an AT interface was not used in the redundant disk drive because the maximum capacity of a hard disk drive which can be used by a host with which an AT interface is connected was limited to 528 M bytes because of basic input and output system (BIOS) restrictions.
However, large-capacity hard disk drives have been downsized rapidly by the development of an magneto-respective head and other technology. It has become possible to manufacture even a 3.5-inch hard disk drive having a capacity exceeding G bytes which can be built into personal computers. Moreover, with the addition of ATA specifications by ANSI, it has become possible for BIOS to access a large capacity (the same level as for a small computer system interface (SCSI) hard disk drive with an AT interface. Accordingly, the necessity of mirroring is increasing rapidly even in small hard disk drives used for personal computers.
In this connection, in the redundant disk controller connected to a host computer having an AT interface, internal data RAM was needed. This is because synchronization timing between the host and hard disk drive is difficult and a consecutive transfer of 256 words of data was needed for processing an Identify Drive command. That is, the Identify Drive command is executed once for initialization immediately after power is turned on. The Identify Drive command enables the host computer to receive parameter information from the hard disk drive. A parameter block consists of 256 words of data. The command requests the consecutive transfer of 256 words of data from the drive to the host computer in units of 16 bits. This parameter must to be partially modified for the controller to operate a pair of hard disk drives. Therefore, data RAM for storing 256 words of data had to be incorporated into the controller. Thus, the controller circuit structure was complicated and of increased cost.